package br.com.SGF.bean;

import java.sql.Time;
import java.util.Date;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.SGF.dao.SenhaDAO;
import br.com.SGF.domain.SenhaDomain;
import br.com.SGF.util.JSFUtil;

@ManagedBean(name = "MBSenha")
@ViewScoped
public class SenhaBean {

	private SenhaDomain senhaDomain;
	private List<SenhaDomain> senhaFiltrada;
	private List<SenhaDomain> senha;
	private List<SenhaDomain> senhaAtendimento;

	public List<SenhaDomain> getSenhaAtendimento() {
		return senhaAtendimento;
	}

	public void setSenhaAtendimento(List<SenhaDomain> senhaAtendimento) {
		this.senhaAtendimento = senhaAtendimento;
	}

	public SenhaDomain getSenhaDomain() {
		if (senhaDomain == null) {
			senhaDomain = new SenhaDomain();
		}
		return senhaDomain;
	}

	public void setSenhaDomain(SenhaDomain senhaDomain) {
		this.senhaDomain = senhaDomain;
	}

	public List<SenhaDomain> getSenhaFiltrada() {
		return senhaFiltrada;
	}

	public void setSenhaFiltrada(List<SenhaDomain> senhaFiltrada) {
		this.senhaFiltrada = senhaFiltrada;
	}

	public List<SenhaDomain> getSenha() {
		return senha;
	}

	public void setSenha(List<SenhaDomain> senha) {
		this.senha = senha;
	}

	public void getInstance() {
		senhaDomain = new SenhaDomain();
	}

	public void save() {
		try {
			SenhaDAO senhaDao = new SenhaDAO();
			senhaDomain.setDataRetirada(new Date(System.currentTimeMillis()));
			senhaDomain.setHoraRetirada(new Time(System.currentTimeMillis()));

			senhaDomain = senhaDao.save(senhaDomain);
			JSFUtil.adicionarMensagemSucesso("Senha salva com Sucesso");

		} catch (RuntimeException ex) {
			ex.printStackTrace();
			JSFUtil.adicionarMensagemErro(ex.getMessage());
		}
	}

	public void carregarCadastro() {
		try {
			SenhaDAO senhaDao = new SenhaDAO();
			senha = senhaDao.listar();
		} catch (RuntimeException ex) {
			ex.printStackTrace();
			JSFUtil.adicionarMensagemErro(ex.getMessage());

		}
	}


	public void listaFila() {
		try {
			SenhaDAO dao = new SenhaDAO();
			senhaAtendimento = dao.listar();
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}

}
